home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / games / centauri.arc / CENTAURI.BAS (.txt) < prev    next >
Atari STOS Basic  |  1990-08-14  |  27KB  |  671 lines

  1. 10 REM ***************************************************************
  2. 100 REM 
  3. 1000 REM 
  4. 10000 REM 
  5. 10010 REM ** subroutines **
  6. 10020 REM 
  7. 1010 REM ** central routine **
  8. 10100 REM 
  9. 10110 REM ** standard type of initialising ** S E T U P **
  10. 10120 REM 
  11. 10130 FADE
  12. 10140 CLS
  13. 10150 LOAD
  14. 10170 FOR
  15. 10180 KEY
  16. 10190 NEXT
  17. 1020 REM 
  18. 10200 KEY SPEED
  19. 10210 CLEAR KEY
  20. 10220 RETURN
  21. 1030 GOSUB
  22. 1040 GOSUB
  23. 1050 GOSUB
  24. 1060 GOSUB
  25. 1065 MODE
  26. 1070 REM beginning of program loop
  27. 1080 REPEAT
  28. 1085 CLEAR KEY
  29. 1090 GOSUB
  30. 110 REM ** variables **
  31. 1100 REM title screen loop
  32. 11000 REM 
  33. 11010 REM ** load DEGAS background graphics ** F E T C H _ G R A P H I C **
  34. 11020 REM 
  35. 11030 RESERVE
  36. 11040 RESERVE
  37. 11050 KEY
  38. 11060 LOAD
  39. 11080 LOAD
  40. 11090 RETURN
  41. 1110 REPEAT
  42. 1130 VARNAME
  43. 1140 IF
  44. 1170 UNTIL
  45. 1180 UNTIL
  46. 1190 MODE
  47. 120 REM 
  48. 12000 REM 
  49. 12010 REM ** load sprite graphics ** F E T C H _ S P R I T E S **
  50. 12020 REM 
  51. 12030 LOAD
  52. 12040 RETURN
  53. 130 REM integers
  54. 13000 REM 
  55. 13010 REM ** load music data ** F E T C H _ M U S I C **
  56. 13020 REM 
  57. 13030 LOAD
  58. 13040 LOAD
  59. 13050 MUSIC
  60. 13060 RETURN
  61. 140 VARNAME
  62. 14000 REM 
  63. 14010 REM ** transfer title page to screen ** D I S P L A Y _ T I T L E **
  64. 14020 REM 
  65. 14030 FADE
  66. 14040 IF
  67. 14050 IF
  68. 14055 SCREEN COPY
  69. 14060 RETURN
  70. 1410 WAIT KEY
  71. 1420 END
  72. 150 VARNAME
  73. 1500 REM ** system error **
  74. 15000 REM 
  75. 15010 REM ** display high and last scores ** S C F A M E **
  76. 15020 REM 
  77. 15030 CLS
  78. 15035 PEN
  79. 15040 PEN
  80. 15050 PEN
  81. 15060 PEN
  82. 15070 PEN
  83. 15080 CENTRE
  84. 15090 LOCATE
  85. 15095 LOCATE
  86. 1510 CLS
  87. 15100 SPRITE
  88. 15110 SPRITE
  89. 15120 SPRITE
  90. 15130 SPRITE
  91. 15140 SPRITE
  92. 15150 MOVE
  93. 1520 PRINT
  94. 1530 REPEAT
  95. 160 VARNAME
  96. 16000 REM 
  97. 16010 REM ** check for function keys ** F U N C T I O N _ C H E C K **
  98. 16020 REM 
  99. 16025 IF
  100. 16040 IF
  101. 16050 IF
  102. 16055 IF
  103. 16060 IF
  104. 16070 IF
  105. 16080 IF
  106. 16090 RETURN
  107. 16200 REM 
  108. 16210 REM ** special functions for hall of fame ** A D D F U N C 1 **
  109. 16220 REM 
  110. 16230 IF
  111. 16240 IF
  112. 16250 IF
  113. 16260 IF
  114. 16270 RETURN
  115. 16400 REM 
  116. 16410 REM ** special functions for title page ** A D D F U N C 2 **
  117. 16420 REM 
  118. 16430 IF
  119. 16440 IF
  120. 16450 RETURN
  121. 16600 REM 
  122. 16610 REM ** cheat mode clue ** N O W A Y **
  123. 16620 REM 
  124. 16630 PAPER
  125. 16640 SCROLL
  126. 16710 PRINT
  127. 16720 PRINT
  128. 16730 PRINT
  129. 16740 PRINT
  130. 16750 PRINT
  131. 16760 WAIT
  132. 16770 RETURN
  133. 170 VARNAME
  134. 17000 REM 
  135. 17010 REM ** password to advanced levels ** L E V E L J U M P **
  136. 17020 REM 
  137. 17030 PAPER
  138. 17040 SCROLL
  139. 17060 PRINT
  140. 17070 IF
  141. 17080 IF
  142. 17090 IF
  143. 17100 IF
  144. 17101 IF
  145. 17105 IF
  146. 17110 IF
  147. 17120 WAIT
  148. 17130 RETURN
  149. 17200 REM 
  150. 17210 REM ** silly hints ** H I N T S **
  151. 17220 REM 
  152. 17230 PAPER
  153. 17240 SCROLL
  154. 17260 PRINT
  155. 17270 CENTRE
  156. 17280 WAIT
  157. 17290 RETURN
  158. 17400 REM 
  159. 17410 REM ** pretend entry to cheat mode ** P R E T C H E A T **
  160. 17420 REM 
  161. 17430 PAPER
  162. 17440 SCROLL
  163. 17460 PRINT
  164. 17470 PRINT
  165. 17480 WAIT
  166. 17490 RETURN
  167. 180 VARNAME
  168. 18000 REM 
  169. 18010 REM ** the nothing message ** N O U T **
  170. 18020 REM 
  171. 18030 PAPER
  172. 18040 SCROLL
  173. 18060 PRINT
  174. 18070 PRINT
  175. 18080 PRINT
  176. 18090 PRINT
  177. 18100 PRINT
  178. 18110 WAIT
  179. 18120 RETURN
  180. 18200 REM 
  181. 18210 REM ** sound options, music or FX ** S O U N D O P T **
  182. 18220 REM 
  183. 18230 PAPER
  184. 18240 SCROLL
  185. 18260 PRINT
  186. 18270 PRINT
  187. 18280 PRINT
  188. 18290 PRINT
  189. 18300 WHILE
  190. 18310 VARNAME
  191. 18320 WEND
  192. 18330 IF
  193. 18340 IF
  194. 18350 WINDEL
  195. 18360 RETURN
  196. 18400 REM 
  197. 18410 REM ** message text ** M E S S **
  198. 18420 REM 
  199. 18430 PAPER
  200. 18440 SCROLL
  201. 18460 PRINT
  202. 18470 WAIT
  203. 18480 RETURN
  204. 18600 REM 
  205. 18610 REM ** undisplayed message ** S E C R E T **
  206. 18620 REM 
  207. 18630 PAPER
  208. 18640 SCROLL
  209. 18660 PRINT
  210. 18670 PRINT
  211. 18680 WAIT
  212. 18690 RETURN
  213. 18800 REM 
  214. 18810 REM ** possible later releases ** F U T U R E **
  215. 18820 REM 
  216. 18830 PAPER
  217. 18840 SCROLL
  218. 18860 PRINT
  219. 18870 PRINT
  220. 18880 PRINT
  221. 18890 PRINT
  222. 18900 PRINT
  223. 18910 PRINT
  224. 18940 WAIT
  225. 18950 RETURN
  226. 190 VARNAME
  227. 19000 REM 
  228. 19010 REM ** real time game play subroutine ** G A M E P L A Y **
  229. 19020 REM 
  230. 19030 SPRITE
  231. 19035 VARNAME
  232. 19040 REPEAT
  233. 19050 GOSUB
  234. 19060 GOSUB
  235. 19065 GOSUB
  236. 19070 VARNAME
  237. 19075 DEC
  238. 19080 REPEAT
  239. 19085 IF
  240. 19090 GOSUB
  241. 19095 IF
  242. 19100 GOSUB
  243. 19110 IF
  244. 19112 IF
  245. 19114 IF
  246. 19120 GOSUB
  247. 19122 IF
  248. 19130 GOSUB
  249. 19131 IF
  250. 19135 IF
  251. 19140 IF
  252. 19155 IF
  253. 19160 UNTIL
  254. 19170 IF
  255. 19175 IF
  256. 19180 UNTIL
  257. 19190 IF
  258. 19200 IF
  259. 19210 MUSIC
  260. 19220 REM 
  261. 19230 RETURN
  262. 19300 REM 
  263. 19310 REM ** end of level routine ** V E L E N D **
  264. 19320 REM 
  265. 19330 SPRITE
  266. 19340 SPRITE
  267. 19350 ANIM
  268. 19355 IF
  269. 19357 WAIT
  270. 19360 WAIT
  271. 19361 INC
  272. 19362 DEF
  273. 19364 FOR
  274. 19366 SCREEN COPY
  275. 19370 PAPER
  276. 19380 PRINT
  277. 19400 IF
  278. 19410 IF
  279. 19420 IF
  280. 19430 WAIT
  281. 19440 RETURN
  282. 19500 REM 
  283. 19510 REM ** update present levels wave ** W A V E C O U N T **
  284. 19520 REM 
  285. 19530 REM 
  286. 19540 INC
  287. 19550 IF
  288. 19560 IF
  289. 19570 IF
  290. 19580 RESTORE
  291. 19590 READ
  292. 19600 READ
  293. 19610 READ
  294. 19620 RETURN
  295. 19800 REM 
  296. 19810 REM ** display get ready message ** G R E A D Y **
  297. 19820 REM 
  298. 19830 SPRITE
  299. 19840 ANIM
  300. 19850 MOVE
  301. 19860 MOVE X
  302. 19870 RETURN
  303. 19900 REM 
  304. 19910 REM ** Pause the real time ** P A U S E **
  305. 19920 REM 
  306. 19940 FREEZE
  307. 19950 REPEAT
  308. 19960 IF
  309. 19990 UNTIL
  310. 19992 UNFREEZE
  311. 19994 RETURN
  312. 20 REM **                                                           **
  313. 200 VARNAME
  314. 20000 REM 
  315. 20010 REM ** display level's screen and initialise ** L E V S C R E E N **
  316. 20020 REM 
  317. 20030 FADE
  318. 20040 IF
  319. 20050 IF
  320. 20060 IF
  321. 20070 IF
  322. 20080 IF
  323. 20090 SCREEN COPY
  324. 20100 SCREEN COPY
  325. 20110 IF
  326. 20120 SPRITE
  327. 20130 RETURN
  328. 20200 REM 
  329. 20210 REM ** set colours for sprites ** S P R I T C O L **
  330. 20220 REM 
  331. 20230 PALETTE
  332. 20240 RETURN
  333. 20500 REM 
  334. 20510 REM ** hyperspace control routine ** H Y P L E V **
  335. 20520 REM 
  336. 20525 VARNAME
  337. 20530 VARNAME
  338. 20540 SCREEN COPY
  339. 20550 GET PALETTE
  340. 20560 SPRITE
  341. 20570 MOVE X
  342. 20575 IF
  343. 20580 REPEAT
  344. 20590 GOSUB
  345. 20600 GOSUB
  346. 20610 GOSUB
  347. 20620 INC
  348. 20630 UNTIL
  349. 20640 IF
  350. 20650 IF
  351. 20670 IF
  352. 20680 SPRITE
  353. 20690 RETURN
  354. 20700 REM 
  355. 20710 REM ** up & down hyperspace movement ** H U S E R **
  356. 20720 REM 
  357. 20730 VARNAME
  358. 20740 IF
  359. 20750 IF
  360. 20760 MOVE
  361. 20770 RETURN
  362. 20800 REM 
  363. 20810 REM ** move fireballs leftwards ** H Y P E R **
  364. 20820 REM 
  365. 20825 IF
  366. 20830 VARNAME
  367. 20840 IF
  368. 20850 IF
  369. 20860 IF
  370. 20870 IF
  371. 20880 IF
  372. 20890 IF
  373. 20900 IF
  374. 20910 IF
  375. 20920 IF
  376. 20930 VARNAME
  377. 20940 ANIM
  378. 20950 ANIM
  379. 20960 RETURN
  380. 210 HIDE
  381. 21000 REM 
  382. 21010 REM ** setup sprites ** S E T S P R I T S **
  383. 21020 REM 
  384. 21030 SPRITE
  385. 21040 SPRITE
  386. 21050 SPRITE
  387. 21070 SPRITE
  388. 21080 SPRITE
  389. 21090 SPRITE
  390. 21110 REM sprite 9 used for destructable baddy
  391. 21120 REM sprites 10 & 11 for foreground
  392. 21130 REM sprites 14 used for indestructable saucers
  393. 21140 REM sprite 15 for explosions, get ready & game over
  394. 21170 RETURN
  395. 21200 REM 
  396. 21210 REM ** move weapon energy pod ** A L P H A **
  397. 21220 REM 
  398. 21230 SPRITE
  399. 21240 MOVE X
  400. 21250 MOVE
  401. 21260 RETURN
  402. 220 BREAK
  403. 22000 REM 
  404. 22010 REM ** move user's sprite ** U S E R **
  405. 22020 REM 
  406. 22050 VARNAME
  407. 22060 VARNAME
  408. 22070 IF
  409. 22080 IF
  410. 22090 IF
  411. 22100 IF
  412. 22110 IF
  413. 22120 IF
  414. 22130 IF
  415. 22140 IF
  416. 22150 MOVE
  417. 22160 RETURN
  418. 22200 REM 
  419. 22210 REM ** deal with all possible collisions ** C O L L I S I O N S **
  420. 22220 REM 
  421. 22230 REM collide with player
  422. 22240 VARNAME
  423. 22250 IF
  424. 22255 IF
  425. 22260 IF
  426. 22270 IF
  427. 22275 REM user hits missile 1
  428. 22280 VARNAME
  429. 22285 IF
  430. 22290 IF
  431. 22295 IF
  432. 22300 IF
  433. 22305 IF
  434. 22310 REM user hit with missile 2
  435. 22315 VARNAME
  436. 22320 IF
  437. 22325 IF
  438. 22330 IF
  439. 22335 IF
  440. 22340 IF
  441. 22345 IF
  442. 22350 REM Wave 5, four zone collision detection
  443. 22355 RESET ZONE
  444. 22357 IF
  445. 22360 VARNAME
  446. 22365 IF
  447. 22370 IF
  448. 22375 IF
  449. 22380 IF
  450. 22385 IF
  451. 22390 IF
  452. 22391 IF
  453. 22392 IF
  454. 22393 IF
  455. 22394 IF
  456. 22395 IF
  457. 22396 IF
  458. 22398 RETURN
  459. 22400 REM 
  460. 22410 REM ** detect hyperspace collisions ** H Y P C O L **
  461. 22420 REM 
  462. 22430 VARNAME
  463. 22440 IF
  464. 22450 RETURN
  465. 22600 REM 
  466. 22610 REM ** shot absorbed by saucer ** S D E A D **
  467. 22620 REM 
  468. 22630 SPRITE
  469. 22640 ANIM
  470. 22650 SPRITE
  471. 22660 MOVE
  472. 22670 ANIM
  473. 22680 IF
  474. 22690 RETURN
  475. 22800 REM 
  476. 22810 REM ** enemy ship destruction sequence ** E D E A D **
  477. 22820 REM 
  478. 22830 SPRITE
  479. 22835 IF
  480. 22840 ANIM
  481. 22850 ANIM
  482. 22852 SPRITE
  483. 22854 MOVE
  484. 22860 IF
  485. 22870 DEC
  486. 22880 IF
  487. 22890 RETURN
  488. 230 ON ERROR
  489. 23000 REM 
  490. 23010 REM ** move enemy sprites ** E N E M Y **
  491. 23020 REM 
  492. 23030 IF
  493. 23040 IF
  494. 23045 IF
  495. 23046 IF
  496. 23047 IF
  497. 23050 SPRITE
  498. 23060 MOVE X
  499. 23070 MOVE Y
  500. 23080 MOVE
  501. 23090 RETURN
  502. 23200 REM 
  503. 23210 REM ** move hopping ships ** H O P P A **
  504. 23220 REM 
  505. 23230 VARNAME
  506. 23240 IF
  507. 23250 IF
  508. 23260 MOVE X
  509. 23270 MOVE
  510. 23280 RETURN
  511. 23500 REM 
  512. 23510 REM ** move the levels saucer ** S A U C E R S **
  513. 23520 REM 
  514. 23530 IF
  515. 23540 VARNAME
  516. 23550 VARNAME
  517. 23560 IF
  518. 23570 IF
  519. 23580 MOVE
  520. 23590 RETURN
  521. 240 REM